package com.plian.system.entity.fr.payrolladjustment;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

@Data
@TableName("fr_payroll_adjustment")
@ApiModel(value = "PayrollAdjustment对象", description = "工资调整表")
public class PayrollAdjustment implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "ID", type = IdType.ASSIGN_UUID)
    @ApiModelProperty(value = "reportId")
    private String id;

    @TableField(value = "YEAR")
    @ApiModelProperty(value = "年度")
    private Integer year;

    @TableField(value = "STATUS")
    @ApiModelProperty(value = "状态")
    private String status;

    @TableField(value = "UNIT")
    @ApiModelProperty(value = "单位")
    private String unit;

    @TableField(value = "UNITNAME")
    @ApiModelProperty(value = "单位名称")
    private String unitName;

    @TableField(value = "FORMTYPE")
    @ApiModelProperty(value = "单据类型")
    private String formType;

    @TableField(value = "APPLICANTNAME")
    @ApiModelProperty(value = "申请人姓名")
    private String applicantName;

    @TableField(value = "FHTABLETYPECODE")
    @ApiModelProperty(value = "报表类型码")
    private String fhTableTypeCode;

    @TableField(value = "SUMMARYCODE")
    @ApiModelProperty(value = "报表合并层级码")
    private Integer summaryCode;

    @TableField(value = "CHECKED")
    @ApiModelProperty(value = "是否被汇总：0、没被汇总；1、被汇总；默认0")
    private String checked;

    @TableField(value = "DIFFCHECKED")
    @ApiModelProperty(value = "是否做了差额计算：0、否；1、是；默认0")
    private String diffChecked;

    @TableField(value = "ISPASSED")
    @ApiModelProperty(value = "是否通过校验：0、否；1、是；默认0")
    private String isPassed;

    @TableField(value = "REASON")
    @ApiModelProperty(value = "强制上报理由")
    private String reason;

    @TableField(value = "filling_type")
    @ApiModelProperty(value = "类型 1调整 2预算")
    private Integer fillingType;

    @TableField(exist = false)
    @ApiModelProperty(value = "linkList")
    private List<PayrollAdjustmentLink> linkList;

    @ApiModelProperty(value = "数据来源 null为系统填报 对应用户id")
    private String dataSource;

    @ApiModelProperty(value = "数据来源id", required = true)
    private String dataSourceId;
}
